1. Field of the Invention
The present invention relates to computing systems with different tasks that compete for access to non-shareable resources. More particularly, a computing system executes use-arbitrating processes on behalf of tasks seeking or having access to non-shareable computing resources, these processes competing according to prescribed rules and priority guidelines the resolution of which determines access to the non-shareable computing resources.
2. Description of the Related Art
In a multitasking computing environment, conflicts sometimes arise between different, competing tasks. In a data storage system, for example, one task may seek access to a non-shareable data storage medium that is already being used by another task. A specific instance of this condition occurs when one processing task requests access to a magnetic tape cartridge that has already been allocated, mounted to a tape drive, and undergone use by another task. In many systems today, the access-seeking task must wait until the preceding task""s input/output activity completes and the tape cartridge is relinquished. The wait can be especially long when the earlier processing task involves a long running activity such as backing up data, which can take several hours to complete, especially with the high capacity storage of many tapes today.
Certain more advanced systems have been developed to allow later tasks to interrupt earlier tasks. Although some of these systems constitute a significant advance and may even enjoy widespread commercial success today, engineers at International Business Machines Corp. (xe2x80x9cIBMxe2x80x9d) are continually seeking to improve the performance and efficiency of these interruption schemes. Some areas of possible focus concern expediting notice of successful interrupts, providing the ability to interrupt failed tasks, and improving the specificity with which such interrupts may be targeted.
Broadly, the present invention concerns a computing system that executes use-arbitrating processes on behalf of tasks seeking or having access to non-shareable computing resources, where these processes compete according to prescribed rules and priority guidelines, the resolution of which determines access to the non-shareable resources. The competing tasks may be external or internal to the computing system. One particularly advantageous application of this invention occurs in data storage systems, where the invention is implemented by a method of arbitrating access among multiple competing tasks to shared storage resources such as a magnetic tape cartridges (xe2x80x9ctapexe2x80x9d), or a magnetic tape drive and a tape mounted thereto (xe2x80x9cdrive/tape pairxe2x80x9d).
The use-arbitrating processes are performed by a storage manager, which is coupled to a number of other components such as an interface to customer applications, operator interface, tape drive controllers, automatic tape mount/demount equipment, and various data structures supporting conflict resolution. One of these data structures is a priority matrix identifying different types of resource-seeking tasks recognized by the data storage system. The priority matrix prescribes different conflict resolution solutions for potential conflicts that can occur between the different types of tasks. The data structures also include an in-use registry that identifies each tape that is in-use, along with the task xe2x80x9cowningxe2x80x9d that tape. The storage manager executes a separate process on behalf of each task having or seeking use of a tape.
For tasks seeking use of a tape, the storage manager performs a xe2x80x9cuse-initiationxe2x80x9d procedure. In response to each task""s request to use a particular tape (xe2x80x9ctargeted tapexe2x80x9d), the storage manager begins the use-initiation operations on behalf of that task. First, the storage manager determines whether the targeted tape is already in-use by another one of the tasks. If not, the use-requesting application can begin using the targeted tape right away.
If the targeted tape is already in-use, however, the storage manager performs certain xe2x80x9cpreexisting usexe2x80x9d operations. Namely, the storage manager consults the priority matrix to identify an appropriate conflict resolution solution. Then, if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted tape to the exclusion of the task that owns the tape, the storage manager submits a takeaway request and waits until the takeaway request is granted. At that time, the storage manager enters the identity of the use-requesting task into the in-use registry in conjunction with the targeted tape and advises the use-requesting task to commence use of the targeted tape. The use-requesting task therefore becomes the owning task.
When a task gains ownership of a tape, the storage manager performs xe2x80x9cuse/giveawayxe2x80x9d operations on behalf of the task. First, the owning task begins use of the tape. Then, at convenient stopping points during the task""s use of the tape, the storage manager determines whether a takeaway request is pending for the tape. If a takeaway request is pending, the storage manager consults the priority matrix to identify an appropriate conflict resolution solution. If the identified conflict resolution solution requires the owning task to surrender the tape, the storage manager advises the owning task to relinquish use of the tape, removes the owning task""s identity from the in-use registry, and notifies the takeaway-requesting-task that the takeaway request has been granted.
The foregoing features may be implemented in a number of different ways. For example, the invention may be implemented to provide a method of operating a computing system to arbitrate and selectively provide resource seeking applications with takeaway of non-shareable resources. In another embodiment, the invention may be implemented to provide an apparatus such as a data storage system, or other computing environment configured to arbitrate and selectively provide resource seeking applications with takeaway of non-shareable resources. In still another embodiment, the invention may be implemented to provide a signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital data processing apparatus to arbitrate access to computing resources as mentioned above. Another embodiment concerns logic circuitry having multiple interconnected electrically conductive elements configured to arbitrate access to computing resources as mentioned above.
The invention affords its users with a number of distinct advantages. For example, the invention prevents lengthy delays that are otherwise incurred when a use-seeking task waits until the natural conclusion of a preceding task""s use of a non-shareable computing resource. This delay is now avoidable because the present invention selectively permits use-seeking tasks of higher priority to start using shared resources by xe2x80x9ctakeaway.xe2x80x9d Also, the present invention provides speedy notice of successful takeaway operations. In one embodiment, this notice occurs by the resource-owning task removing its entry from an in-use registry and the use-requesting task polling the in-use registry until the resource is available. In another embodiment, this notice occurs by a resource arbitrator affirmatively notifying the task requesting takeaway.
Additionally, the invention permits access-seeking tasks to perform takeaway operations even if the task owning the resource has failed. This feature is possible because the storage manager evaluates resource-owning tasks to identify any that have failed. If a resource-owning task has failed, the in-use registry can be changed by a neutral resource arbitrator or by a task seeking takeaway without participation of failed tasks. Another benefit of this invention is that, unlike prior approaches that pool interrupt requests, the invention logs each takeaway request in association with a specific resource being sought. This avoids the need for tasks to repeatedly submit, receive, and discard pooled interrupt requests until a specific resource is finally awarded. Still another benefit is that the invention allows many tasks to request takeaway from a single owner, and ensure takeaway priority is honored. The invention also provides a number of other advantages and benefits, which should be apparent from the following description of the invention.